Installation on Apache

Prerequisites

  • Ubuntu 20.04 or 22.10
  • Apache 2
  • PHP 8.2.14
  • MySQL 5.7
  • mod_rewrite module enabled

Extract Files

Extract the Next Hour files to the Apache web root:

sudo unzip nexthour.zip -d /var/www/html

Configure Apache Virtual Host

Create or edit the Apache virtual host configuration to point the DocumentRoot to the public folder of your Next Hour installation:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/html/nexthour/public

    <Directory /var/www/html/nexthour/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Enable the site and restart Apache:

sudo a2ensite yourdomain.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Set Ownership & Permissions

Set the file ownership to www-data and apply the correct permissions:

sudo chown -R www-data:www-data /var/www/html/nexthour

Set 777 permissions on the following directories and files:

  • bootstrap
  • public
  • storage
  • public/images
  • public/config.txt
  • .env
sudo chmod -R 777 bootstrap public storage
sudo chmod 777 public/images public/config.txt .env